package com.atguigu.scw.manager.service;

import com.atguigu.scw.manager.bean.TUser;
import com.atguigu.scw.manager.bean.TUserExample;

import java.util.List;

public interface UserService {
    /**
     * 用户注册
     *
     * @param user 用户信息
     * @return true 注册成功 false 注册失败
     */
    boolean register(TUser user);

    /**
     * 用户登录
     *
     * @param user 用户注册信息
     * @return 用户完整信息
     */
    TUser login(TUser user);

    /**
     * 查询所有用户
     *
     * @return 用户列表
     */
    List<TUser> getAll();

    List<TUser> getAllByExample(TUserExample example);

    /**
     * 批量删除或者删除单个
     *
     * @param ids 用户id
     */
    void deleteBatchOrSingle(String ids);

    /**
     * 新增用户
     *
     * @param user
     */
    void savaUser(TUser user);

    /**
     * 查询用户
     *
     * @param userId 用户Id
     * @return 用户信息
     */
    TUser getUserById(Integer userId);

    /**
     * 修改用户信息
     *
     * @param user 用户数据
     */
    void updateUser(TUser user);

    /**
     * 发送忘记密码邮件
     *
     * @param email 邮箱
     * @return true 发送成
     */
    Boolean sendEmail(String email);

    /**
     * 检查邮箱存在
     *
     * @param email
     * @return true 存在 false 不存在
     */
    Boolean checkEmailExist(String email);
    // 测试用的接口
    // TUser getUserById(Integer id);
    // void saveUser(TUser user);
}
